package org.example.struct.array;

import com.alibaba.fastjson.JSON;

/**
 * @author liyishan
 * @date 2023/7/18 10:30
 * @apiNote
 */

public class Test00066PlusOne {
    public static void main(String[] args) {
        int[] a = new int[]{9};
        int[] count = test1(a);
        System.out.println("array:" + JSON.toJSON(count));
    }

    /**
     * 情况一：从后找第一个不等于9的把他加一 他后面的都改为0
     * 情况二：没有找到不等于9的  在最前面加个一 原来的位置都置为0
     * @param digits
     * @return
     * 时间复杂度 O(N)  空间复杂度  O（1）
     */
    public static int[] test1(int[] digits) {
        int length = digits.length;
        for(int i = length - 1;i >= 0;i--){
            if(digits[i]!= 9){
                digits[i] +=1;
                for (int j = i+1; j < length; j++) {
                    digits[j] = 0;
                }
                return  digits;
            }

        }
        int[] result = new int[length+1];
        result[0] = 1;
        return  result;
    }
}
